# RUN: yaml2obj %s -o %t.o
# RUN: llvm-objdump --file-headers --private-headers --section-headers --syms \
# RUN:   --full-contents --dwarf=frames \
# RUN:   --reloc %t.o | FileCheck %s --check-prefixes=CHECK,RELOC
# RUN: llvm-objdump --file-headers --private-headers --section-headers --syms \
# RUN:   --full-contents --dwarf=frames \
# RUN:   --disassemble %t.o | FileCheck %s --check-prefixes=CHECK,DISASM

## Test the ordering of most of the output. Note that --disassemble suppresses
## --reloc, so we test them independently.

## File headers (-f)
# CHECK: file format elf64-x86-64
# CHECK: architecture: x86_64
# CHECK: start address: 0x0000000000000000
## Private headers (-p)
# CHECK: Program Header:
# CHECK: Dynamic Section:
## Section headers (-h)
# CHECK: Sections:
## Symbol table (-t)
# CHECK: SYMBOL TABLE:
## DWARF contents:
# CHECK: .eh_frame contents:
## Relocations (-r)
# RELOC: RELOCATION RECORDS FOR [.text]:
## Section contents (-s)
# CHECK: Contents of section .rel.text:
# CHECK: Contents of section .dynamic:
# CHECK: Contents of section .symtab:
# CHECK: Contents of section .strtab:
# CHECK: Contents of section .shstrtab:
## Disassembly (-d)
# DISASM: Disassembly of section .text:

!ELF
FileHeader:
  Class:    ELFCLASS64
  Data:     ELFDATA2LSB
  Type:     ET_REL
  Machine:  EM_X86_64
Sections:
  - Name:    .text
    Type:    SHT_PROGBITS
    Flags:   [ SHF_ALLOC, SHF_EXECINSTR ]
    Content: e800000000e800000000
  - Name: .rel.text
    Type: SHT_REL
    Info: .text
    Relocations:
      - Offset: 0x1
        Symbol: foo
        Type: R_X86_64_32
  - Name:    .dynamic
    Type:    SHT_DYNAMIC
    Flags:   [ SHF_WRITE, SHF_ALLOC ]
    EntSize: 0x0000000000000010
    Entries:
      - Tag:   DT_INIT
        Value: 0x00000000000006A0
      - Tag:   DT_NULL
        Value: 0x0000000000000000
  - Name:         .eh_frame
    Type:         SHT_X86_64_UNWIND
    Flags:        [ SHF_ALLOC ]
    AddressAlign: 0x0000000000000001
    Content:      00000000
Symbols:
  - Name:    foo
    Section: .text
